<?php
namespace Admin\Controller;
use Think\Controller;
class MessageController extends CommonController {
     
     //浏览新闻信息
    public function index(){
       
       //判断是否有关键字传值
       if($key = I('get.key'))
       {
          $map['content'] = array('like','%'.$key.'%');
       }
       //判断是否有时间值传递
       if(I('get.start') && I('get.end'))
       {
          
          $start = strtotime(I('get.start')." 00:00:00");
          $end = strtotime(I('get.end')." 23:59:59");
          // var_dump($start);die;
          // var_dump($end);die;
          $map['addtime'] = array(array('EGT',$start),array('ELT',$end),'AND');
          
       }
       //判断是否有分类值传递
       if($status = (int)I('get.status'))
       {
          $map['status'] = array('EQ',$status);
       }

        //实例化新闻信息操作对象
       $mod = M("message");
       $count = $mod->where($map)->count();// 查询满足要求的总记录数
       
       $Page = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数(25)

       $Page -> setConfig('header','共%TOTAL_ROW%条');
       $Page -> setConfig('first','首页');
       $Page -> setConfig('last','共%TOTAL_PAGE%页');
       $Page -> setConfig('prev','上一页');
       $Page -> setConfig('next','下一页');
       $Page -> setConfig('link','indexpagenumb');//pagenumb 会替换成页码
       $Page -> setConfig('theme','%HEADER% %NOW_PAGE%/%TOTAL_PAGE% 页 %FIRST% %UP_PAGE% %DOWN_PAGE% %END% %LINK_PAGE%');
       
       $show = $Page->show();// 分页显示输出
       // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
       $list=M('message')->order('addtime desc')->limit($Page->firstRow.','.$Page->listRows)->where($map)->select();

       $this->assign("list",$list);
       $this->assign('page',$show);// 赋值分页输出
       
       //加载模板输出
       $this->display("index");
    }

    
    //加载编辑表单
    public function edit(){

        $mod =M("message"); 
        $ob = $mod->find((int)I('get.id'));
        
        $ob['content'] = html_entity_decode($ob['content']);

        //判断状态为1才变2
        if($mod -> where('id='.(int)I('get.id'))->getField('status') == 1)
        {
          //改变状态为已读
          $mod -> where('id='.(int)I('get.id'))->setField('status',2);
        }
        
        //放置模板中
        $this->assign("v",$ob);
        //加载编辑模板
        $this->display("edit");
    }

    //执行信息修改
    public function update(){
        //实例化
        $mod =M("message");       
        
        //改变状态为已读
        $m = $mod -> where('id='.(int)I('post.id'))->setField('status',3);
       
        //判断并输出对应的提示信息
        if($m!==false){

           $this->success("处理成功！",U("Message/index"));
        }else{
           $this->error("处理失败！");
        }
    }

    //执行AJAX信息修改
    public function infoupdate(){
        //实例化
        $mod =M("message");       
        
        //改变状态为已读
        $m = $mod -> where('id='.(int)I('post.id'))->setField('status',3);
       
        //判断并输出对应的提示信息
        if($m!==false){

           echo json_encode(true);
        }else{
           echo json_encode(false);
        }
    }

    //执行信息删除
    public function del(){
       
       //实例化
       $mod =M("message");

       //把传过来的字符串整理成搜索条件
       
       if(I('post.id'))
       {
          $arr = explode(',',I('post.id'));
          array_pop($arr);
                
          $map['id'] = array('in',$arr);

       }
       if((int)I('get.id'))
       {
              $map['id'] = array('EQ',(int)I('get.id'));
             
       }
       
       //执行删除
       $m = $mod->where($map)->delete();
       
       //判断并输出对应的提示信息
       if($m>0){
          
          $this->success("删除成功！",U("Message/index"));
       }
       else
       {
           $this->error("删除失败！");
       }
    }
}